1. Field of the Invention
Embodiments of the present invention generally relate to block-based parallel deblocking filtering in video coding.
2. Description of the Related Art
The Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T WP3/16 and ISO/IEC JTC 1/SC 29/WG 11 is currently developing the next-generation video coding standard referred to as High Efficiency Video Coding (HEVC). Similar to previous video coding standards such as H.264/AVC, HEVC is based on a hybrid coding scheme using block-based prediction and transform coding. First, the input signal is split into rectangular blocks that are predicted from the previously decoded data by either motion compensated (inter) prediction or intra prediction. The resulting prediction error is coded by applying block transforms based on an integer approximation of the discrete cosine transform, which is followed by quantization and coding of the transform coefficients. While H.264/AVC divides a picture into fixed size macroblocks of 16×16 samples, HEVC divides a picture into largest coding units (LCUs), of 16×16, 32×32 or 64×64 samples. The LCUs may be further divided into smaller blocks, i.e., coding units (CU), using a quad-tree structure. A CU may be split further into prediction units (PUs) and transform units (TUs). The size of the transforms used in prediction error coding can vary from 4×4 to 32×32 samples, thus allowing larger transforms than in H.264/AVC, which uses 4×4 and 8×8 transforms. As the optimal size of the above mentioned blocks typically depends on the picture content, the reconstructed picture is composed of blocks of various sizes, each block being coded using an individual prediction mode and the prediction error transform.
In a coding scheme that uses block-based prediction and transform coding, discontinuities can occur in the reconstructed signal at block boundaries. Visible discontinuities at block boundaries are known as blocking artifacts. A major source of blocking artifacts is the block-transform coding of the prediction error followed by coarse quantization. Moreover, in the motion compensated prediction process, blocks from the previously coded pictures are used to form predictions for blocks in the current picture. Since predictions for adjacent blocks in the current picture might not come from adjacent blocks in the previously coded pictures, this process creates discontinuities at the block boundaries of the prediction signal. Similarly, when applying intra prediction, the prediction process of adjacent blocks might be different causing discontinuities at the block boundaries of the prediction signal. For example, one block is predicted from its neighboring block to the left and the adjacent block is predicted from its neighboring block above.
Two approaches to reduce blocking artifacts are post-filtering and in-loop filtering. Post-filtering is not specified by the video coding standard and can be performed, e.g., in the display process. In-loop filters operate within the encoding/decoding loop. Therefore, such filters need to be normative to avoid drift between the encoder and the decoder. There are three main in-loop filters defined by the emerging HEVC standard: a deblocking filter, a sample adaptive offset filter (SAO), and an adaptive loop filter (ALF). These filters may be applied sequentially, and, depending on the configuration, the SAO and ALF loop filters may be applied to the output of the deblocking filter.
The deblocking filter in HEVC is being designed with consideration of both subjective quality improvements and complexity reduction. The latter criterion was considered seriously since the deblocking filter of the H.264/AVC standard constitutes a significant part of the decoder complexity with up to one third of decoding time spent on deblocking filtering. These considerations have resulted in an evolving HEVC deblocking filter design that is less complex than the H.264/AVC deblocking filter while still having the capability to improve subjective and objective quality of a decoded picture.